Анаграммой слова называется другое слово, полученное
перестановкой его букв.
Вход. Даны два слова, каждое из которых записано в отдельной
строке. Слова состоят из строчных латинских букв и цифр. Длина каждого слова не
превышает 100 символов.
Выход. Выведите “YES”, если заданные слова
являются анаграммами, и “NO” в противном
случае.
Пример
входа |
Пример
выхода |
sharm
marsh |
YES |
сортировка
Отсортируем
буквы в каждом слове в лексикографическом порядке. Если полученные слова совпадут,
то исходные
слова состоят из одинаковых букв и, следовательно, являются анаграммами.
Объявим рабочие
строки s и q.
string s, q;
Читаем входные строки.
cin >> s;
cin >> q;
Сортируем буквы в каждой строке.
sort(s.begin(),s.end());
sort(q.begin(),q.end());
Сравниваем полученные строки и выводим ответ.
if (s == q) puts("YES"); else
puts("NO");
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace
std;
char s[100], q[100];
int main(void)
{
gets(s); sort(s,s+strlen(s));
gets(q); sort(q,q+strlen(q));
if
(strcmp(s,q) == 0) puts("YES"); else puts("NO");
return 0;
}
#include <stdio.h>
#include <string.h>
#define MAX 256
char s[MAX], q[MAX];
int slen, qlen;
void sort(char
*m, int len)
{
int i, j;
char temp;
for(i = 0; i
< len; i++)
for(j = i +
1; j < len; j++)
if (m[i]
> m[j])
{
temp = m[i];
m[i] = m[j];
m[j] = temp;
}
}
int main(void)
{
gets(s); slen = strlen(s);
gets(q); qlen = strlen(q);
sort(s,slen);
sort(q,qlen);
if
(!strcmp(s,q))
printf("YES\n");
else
printf("NO\n");
return 0;
}
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
char[] s = con.nextLine().toCharArray();
char[] q = con.nextLine().toCharArray();
Arrays.sort(s);
Arrays.sort(q);
if (Arrays.equals(s, q))
System.out.println("YES");
else
System.out.println("NO");
con.close();
}
}
Читаем входные строки.
l1 = list(input())
l2 = list(input())
Сортируем буквы в каждой строке.
l1.sort()
l2.sort()
Сравниваем полученные строки и выводим ответ.
if l1 == l2:
print('YES')
else:
print('NO')